草庐IT

c++ - 包装第 3 方 DLL

全部标签

c - 是否可以在没有消息循环的情况下运行窗口应用程序

我有一个非常古老的应用程序,我很惊讶。此应用程序在没有消息循环的情况下运行。(GetMessage或PeekMessage)。这怎么可能?来自VisualStudio的编辑示例:HINSTANCEg_hInstance=NULL;LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam);BOOLInitInstance(HINSTANCEhInstance,intnCmdShow);ATOM_RegisterClass(HINSTANCEhInstance);intAPIENTRYWinMain(HIN

c - 为结构动态分配内存的正确方法是什么?

我正在开发一个程序,它应该在注册表中搜索特定值,并将它们及其路径存储在一个数组中。所以我不知道程序会找到多少键,因此我需要使用动态增长的数组。我现在正在使用这段代码,但我不确定它是否正确。structdata{char*Path;char*Key;};structdata**RegArray=NULL;intArrayCount=0;//....//....//searchtheregistryhere....//valuehasbeenfound,soishouldaddittothearrayhereRegArray=(structdata**)realloc(RegArray,(

c - 启动 Windows 驱动程序时出错 : The handle is invalid

我是一名Web开发人员,决定涉足内核模式开发。我安装了WDK8.1、VisualStudioProfessional2013,并设置了Windows7VM来调试和测试我的驱动程序。我从thistutorial开始我下载解决方案并构建驱动程序。我无法执行教程中描述的部署步骤,因此我尝试使用OSRDriverLoader安装驱动程序我能够注册驱动程序,但是当我尝试启动它时出现以下错误。C:\Windows\system32>sc启动KmfSmall[SC]启动服务失败6:句柄无效。这是驱动程序的代码:#include#includeDRIVER_INITIALIZEDriverEntry;

c++ - 如何使用另一个 DLL 为 Qt 制作第三方插件?

免责声明:在Linux上一切正常。在Windows上,我最近从MinGW更改为MSVC2012,因为我无法正确读取MP3(请参阅MaketheWMFplugincompilewithMinGW.)在我的项目中,我有:核心(DLL)另一个使用Core构建的DLL媒体播放器(Qt应用程序,同时使用DLL和加载插件)为了让我的项目跨平台,我还将Windows特定功能(progressbar,thumbnailbuttons)提取到第3方插件中。事实上,我开始编写一个插件管理器,它在运行时加载/卸载插件并且无需重新启动应用程序,它工作正常。但是自从我切换到MSVC之后,我就不能再构建我的插件了

windows - 在 Windows 中调试系统/ole dll

我们如何在windows中调试系统dll?假设我的应用程序正在使用使用系统dll的第三方dll,我想知道第三方dll传递给系统dllapi的确切参数。例如,假设myapp.exe使用名为xyz-wmi.dll的第三方dll,它对恰好在Wbemdisp.dll中的SWbemLocator.ConnectServer进行api调用。我想检查传递给Wbemdisp.dll中的SWbemLocator.ConnectServer的确切参数。有没有办法在Wbemdisp.dll的函数SWbemLocator.ConnectServer中设置断点并在调试器中检查参数?如何做到这一点?

c# - 将 exe 指向可执行文件目录之外的 dll

使用C#、VS2012、windowsserver2012r2我对此进行了一些搜索,我想我已经知道答案了,但希望有人能告诉我我是否正确。我有一个网站,其bin文件夹中有一个dll。我还有几个可按需或按计划运行的可执行工具,几乎所有这些工具都使用与wesbite相同的dll。或者更确切地说,他们使用驻留在每个exe文件夹中的该dll的副本。这很麻烦,因为每当我为网站更新该dll时,所有这些exe现在都在使用旧版本的dll。因此,如果我可以将所有exe文件指向网站bin文件夹并使用其中的dll,我会很高兴。如果可能的话,我宁愿不修改WindowsPATH值。如果是这样,看起来需要使用一个名

windows - 在 DllMain 中,是否可以在没有 DLL_THREAD_ATTACH 的情况下发生 DLL_THREAD_DETACH?

如果在我的DLL加载之前线程已经创建。然后,线程在我的DLL卸载之前退出。问题是:我的DllMain将收到DLL_THREAD_DETACH通知,还是没有关于退出线程的通知?感谢提前。 最佳答案 您会收到通知。它明确记录在MSDNarticle中对于DllMain:Therearecasesinwhichtheentry-pointfunctioniscalledforaterminatingthreadeveniftheentry-pointfunctionwasnevercalledwithDLL_THREAD_ATTACHfo

c++ - 从 DLL 实例化子类时,vtable 是否正确?

当您在主可执行文件中有一个基类并在DLL中定义了子类(例如,插件)时,当您想要获得一个插件时会发生什么?我正在寻找一篇文章/答案来阐明当你发生什么时加载动态链接库调用DLL的函数返回一个plugin*(它有虚函数)在您的主要可执行代码中使用该插件删除、卸载我正在考虑vtable和其他C++问题。例如,如果您卸载DLL仍然有一些插件正在运行......“代码”会消失吗? 最佳答案 既然你在谈论插件,你一定在做类似LoadLibrary的事情。假设Windows:加载库。您通常会调用LoadLibrary,然后调用GetProcAddr

c - 如何在 WinLDAP 中使用 ldap_sasl_bind?

我目前使用ldap_bind_s使用SEC_WINNT_AUTH_IDENTITY结构绑定(bind)到我的C应用程序中的服务器,但该函数被标记为已弃用。出于这个原因,我想将其更改为ldap_sasl_bind_s功能。intmain(void){LDAP*ld;intrc=0;char*binddn="cn=admin,dc=local";constintversion=LDAP_VERSION3;SEC_WINNT_AUTH_IDENTITYwincreds;structbervalsaslcred;wincreds.User="admin";wincreds.UserLength

java - 从java类编译C文件

importjava.io.*;publicclasschk{StringclassName;Stringcommand,command1,command2;publicStringgetMsg(StringfileName,FilePath1){Stringdir;command="tcc"+fileName;Stringoutput=executeCommand(command,Path1);if(output.compareTo("")==0)output="CompilationSuccessfull!!";returnoutput;}privateStringexecuteC